$(function() {
    // 需求1.定义校验规则
    let form = layui.form;
    form.verify({
        nickname: [
            /^[\S]{1,10}$/,
            '昵称的长度为1-10个字符!'
        ]

    });

    // 需求2:渲染用户信息-封装成函数,后面还要用得到;
    // 函数不调用不执行;
    initUserInfo();
    let layer = layui.layer;

    function initUserInfo() {
        axios({
            method: 'GET',
            url: '/my/userinfo',
            // 以 /my 开头的请求路径，需要在请求头中携带 Authorization 身份认证字段，才能正常访问成功
            // 身份认证 common.js 帮我们做了，不需要在设置token了
        }).then(res => {
            // console.log(res);
            if (res.data.status !== 0) {
                return layer.msg(res.data.message);
            }
            form.val('formUserInfo', res.data.data)
        });
    }

    // 需求3.重置功能
    // $("form").on('reset', function (e) {
    $("#btnReset").on("click", function(e) {
        e.preventDefault();
        initUserInfo();
    });


    // 需求4.提交表单
    // 给按钮设置点击事件或给form绑定submit事件
    $("form").on('submit', function(e) {
        e.preventDefault();
        axios({
            method: 'POST',
            url: '/my/userinfo',
            data: $(this).serialize(),
        }).then(function(res) {
            if (res.data.status !== 0) {
                return layer.msg(res.data.message);
            }
            layer.msg("恭喜您,修改用户信息成功！");
            // 直接调用无效,因为不是一个window对象!
            window.parent.getUserInfo();
        });

    });


});